﻿using ControlCenter.Model;
using System;

namespace ControlCenter.Operation
{
    public class ExecutionCallbackDto
    {
        /// <summary>
        /// 执行队列ID（必填）
        /// </summary>
        public Guid ExecutionQueueId { get; set; }

        /// <summary>
        /// 机器人的应用ID
        /// </summary>
        public Guid RpId { get; set; }

        /// <summary>
        /// 机器人Id（必填）
        /// </summary>

        public Guid RobotId { get; set; }

        /// <summary>
        /// 包id（必填）
        /// </summary>
        public Guid PackageId { get; set; }

        /// <summary>
        /// 日志类型（必填）
        /// </summary>
        public ExecutionQueueType Type { get; set; }

        /// <summary>
        /// 执行时间（必填）
        /// </summary>
        public DateTime ExecutionDate { get; set; }

        /// <summary>
        /// 执行时长(秒)，可为0
        /// </summary>
        public int ExecutionTime { get; set; }

        /// <summary>
        /// 执行状态（必填）
        /// </summary>
        public ExecutionStatus Status { get; set; }

        /// <summary>
        /// 消息（非必填）
        /// </summary>
        public string Message { get; set; }

        /// <summary>
        /// 执行队列ID(日志类型为跟踪时必填)
        /// </summary>
        public Guid? TraceId { get; set; }
    }
    
}
